Technical Q&As


DV 23 - Jumpy Mouse when Transferring Data on PowerMacs (01-Nov-95)


Q We have SCSI routines that transfer 64kB data blocks (to get the highest transfer rates possible with the tape drive we are using). On the PowerPC (8100/80 or 8100/100), if the mouse is moved during a 64k transfer, the mouse is jumpy.

Lowering the cache size to 16k reduces the problem to an acceptable level, but kills the transfer rates. We are using the SCSI manager 4.3.

How do we avoid the jumpy mouse while maintaining maximum throughput?

A Your jumpy mouse is an indication that you are not properly implementing SCSI DMA. When using the 8100 (and PCI machines) for Direct Memory Access (DMA) transfer efficiency, you want to insure that:

  1. Your data is aligned on 8 byte block bounderies. Since the DMA hardware can't do odd transfers, it must perform a Programmed IO to handle at least part of the transfer.

  2. Your buffer physical memory is contiguous (ala LockMemoryContiguous). Otherwise, the DMA transfer will have to be broken up: this will especially be a problem if Virtual Memory is turned on.

If you have disconnects enabled in your device or driver, it's possible that the transfer is broken up and some VBL activity is occurring. The bottom line is that you don't want a SCSI disconnect occuring during your transfer.

Technical Q&As
Previous Question | Contents | Next Question